// 进度条插件
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import router from '@/router'
import store from '@/store'
import getPageTitle from '@/utils/get-page-title'

// to去哪  from哪里来  next()放行
const whiteList = ['/login', '/404']// 白名单
router.beforeEach(async(to, from, next) => {
  NProgress.start() // 开启进度条
  // console.log('去哪里', to.path)
  // console.log('从哪里来', from.path)
  const title = getPageTitle(to.meta.title) // 组织架构-人力资源管理系统
  document.title = title
  //   判断是否有token
  const token = store.state.user.token
  if (token) {
    // 已登录
    // 还去登录
    if (to.path === '/login') {
      // console.log('已经登录了,直接去首页')
      next('/')
      NProgress.done() // 关闭进度条
    } else {
      let menus = []
      if (!store.getters.userId) {
        menus = await store.dispatch('user/getUserInfo')
      }
      // menus 用户可以访问的页面的额权限信息
      console.log('menus', menus)
      // // 判断是否存储过 存过不发请求
      // if (!store.state.user.userInfo.userId) {
      //   // 没有
      //   // 触发action中的获取用户信息
      //   await store.dispatch('user/getUserInfo')
      // }
      // console.log('已经登录了,放行')
      next()
    }
  } else {
    // 未登录
    if (whiteList.includes(to.path)) {
      // console.log('白名单,放')
      next()
    } else {
      // console.log('没登录,去登陆')
      next('/login')
      NProgress.done() // 关闭进度条
    }
  }
})

router.afterEach(() => {
  // console.log('页面跳转完成会经过这里')
  NProgress.done() // 关闭进度条
})

